Businesses are constantly trying to improve the services that they provide to their customers. Indeed, whether a business is successful is often dependent on the satisfaction of its customers. To better address the needs of their customers, businesses often provide “customer service departments.” These customer service departments typically employ human individuals (sometimes referred to as “agents” or “representatives”) who answer customers' questions, inquiries, complaints, or other sales and service issues. At a most basic form, an agent communicates with customers via a telephone to orally answer the sales/service inquires of customers who call the customer service department.
Customer relationship management (CRM) systems have become popular in recent years to automate the interaction between businesses and its customers. With the use of hardware and software, many of the tasks traditionally performed by agents can now be performed electronically. For instance, customers have become accustomed to automated voicemail systems (a form of CRM) where customers listen to prerecorded messages and then make menu selections using their telephone keypad.
Despite the increased use of CRM systems, they suffer from several implementation drawbacks. For instance, businesses, products, and customers can vary greatly from one situation to another. What works very well for one business may be completely useless to another. Given this consideration, CRM systems often need to be customized for each business. This customization can be expensive and lengthy, and often includes providing customized software code, customized hardware, customized applications, and the like to businesses.
Even with this customization, a system administrator of a business sometimes may still have to write software code to properly implement a CRM system, such as when modifying an existing feature, adding a feature, updating a component, initially installing the CRM system, or other activity. This limitation can cause delays in deployment of the CRM system or improper operation if the system administrator does not know how to write code, or is unfamiliar with the structure and user interfaces of the CRM system.
Other drawbacks of existing CRM systems are from a customer's perspective. Many types of CRM systems, such as the automated voicemail system identified above, progressively present menu selections to customers and then process the customers' responses. Should the customer hang up the telephone or should the communication be disconnected, then the customer usually has to redial the telephone number and start the process all over again. This can become exceedingly frustrating and inconvenient to the customer, particularly if much effort was previously spent to get to a certain point in the automated messages, and then the communication is prematurely terminated.
Some CRM systems try to implement customer service through a network, such as the Internet, in order to provide “self-service” to customers with minimal support from human agents. An example is an Internet web site that has web pages where a customer can get some degree of customer service by being presented with menu selections or questions in the form of hypertext links, or with forms where the customer can enter information such as name, addresses, product order, and the like. However, such web sites typically are very primitive and do not offer the degree of personalization that many customers would like to have. Furthermore, these web sites typically provide little or no interactive guidance on a workflow to perform a task, such as troubleshooting, form filling, personalized instructions, and the like. Also, these web sites suffer from the same “disconnection” limitation described above with regards to automated voicemail systems—if the customer's Internet connection is disconnected while the customer's inquiry is being processed, then the customer usually has to start over again.